package com.gtranslate; import rehost.javazoom.jl.decoder.JavaLayerException; import rehost.javazoom.jl.player.Player; import java.io.BufferedInputStream; import java.io.IOException; import java.io.InputStream; import java.net.URL; import java.net.URLConnection; public class Audio { private static Audio audio; public static synchronized Audio getInstance() { if(audio == null) { audio = new Audio(); } return audio; } public InputStream getAudio(String text, String languageOutput) throws IOException { //See http://stackoverflow.com/questions/32053442/google-translate-tts-api-blocked URL url = new URL("http://translate.google.com/translate_tts?q=" + text.replace(" ", "%20") + "&tl=" + languageOutput + "&client=tw-ob"); URLConnection urlConn = url.openConnection(); urlConn.addRequestProperty("User-Agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)"); InputStream audioSrc = urlConn.getInputStream(); return new BufferedInputStream(audioSrc); } public void play(InputStream sound) throws JavaLayerException { (new Player(sound)).play(); } }